package io.github.javiewer.network.provider; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.util.ArrayList; import java.util.List; import io.github.javiewer.adapter.item.DownloadLink; import io.github.javiewer.adapter.item.MagnetLink; import io.github.javiewer.network.BTSO; import okhttp3.ResponseBody; import retrofit2.Call; /** * Project: JAViewer */ public class BTSOLinkProvider extends DownloadLinkProvider { @Override public Call<ResponseBody> search(String keyword, int page) { return BTSO.INSTANCE.search(keyword, page); } @Override public List<DownloadLink> parseDownloadLinks(String htmlContent) { ArrayList<DownloadLink> links = new ArrayList<>(); Elements rows = Jsoup.parse(htmlContent).getElementsByClass("row"); for (Element row : rows) { try { Element a = row.getElementsByTag("a").first(); links.add( DownloadLink.create( row.getElementsByClass("file").first().text(), row.getElementsByClass("size").first().text(), row.getElementsByClass("date").first().text(), a.attr("href"), null) ); } catch (Exception ignored) { } } return links; } @Override public Call<ResponseBody> get(String url) { return BTSO.INSTANCE.get(url); } @Override public MagnetLink parseMagnetLink(String htmlContent) { return MagnetLink.create(Jsoup.parse(htmlContent).getElementsByClass("magnet-link").first().text()); } }